/****************************************************************************
**
** Trolltech hereby grants a license to use the Qt/Eclipse Integration
** plug-in (the software contained herein), in binary form, solely for the
** purpose of creating code to be used with Trolltech's Qt software.
**
** Qt Designer is licensed under the terms of the GNU General Public
** License versions 2.0 and 3.0 ("GPL License"). Trolltech offers users the
** right to use certain no GPL licensed software under the terms of its GPL
** Exception version 1.2 (http://trolltech.com/products/qt/gplexception).
**
** THIS SOFTWARE IS PROVIDED BY TROLLTECH AND ITS CONTRIBUTORS (IF ANY) "AS
** IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
** TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
** PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
** OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
** EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
** PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
** PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
** LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
** NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
**
** Since we now have the GPL exception I think that the "special exception
** is no longer needed. The license text proposed above (other than the
** special exception portion of it) is the BSD license and we have added
** the BSD license as a permissible license under the exception.
**
****************************************************************************/

#include "embedVideoTest.h"
#include "playbackwidget.h"

#include <QtGui>
#include <QApplication>
#include <QDir>
#include "activelogs.h"

#include "activelogs.h"
#ifdef MAIN
    #define ENABLE_FILE_LOG
#endif
#include "logmacros.h"


#define APP_NAME "embedVideoTest"
#define LOG_FILE "log.txt"


#ifdef ENABLE_LOG_MACROS

QString logFile;

void messageOutput(QtMsgType type, const char *msg)
 {
     switch (type) {
     case QtDebugMsg:
    	 {
    	 QFile file(logFile);
    	 if (!file.open(QIODevice::ReadWrite | QIODevice::Text | QIODevice::Append))
    		 abort();
    	 file.write(msg);
    	 file.write("\r\n");
    	 file.close();
    	 }
         break;
     case QtWarningMsg:
         fprintf(stderr, "Warning: %s\n", msg);
         break;
     case QtCriticalMsg:
         fprintf(stderr, "Critical: %s\n", msg);
         break;
     case QtFatalMsg:
         fprintf(stderr, "Fatal: %s\n", msg);
         abort();
     }
 }
#endif


int main(int argc, char *argv[])
{
#ifdef ENABLE_LOG_MACROS
	QDir dir;
	dir.mkpath(QDesktopServices::storageLocation(QDesktopServices::HomeLocation) + "/" + APP_NAME + "/");
    logFile = QDesktopServices::storageLocation(QDesktopServices::HomeLocation) + "/" + APP_NAME + "/"+ LOG_FILE;
    QFile log(logFile);
    log.resize(0);
    qInstallMsgHandler(messageOutput);
#endif
    
    QApplication a(argc, argv);
    EmbedVideoTest w;
    w.showFullScreen();
    return a.exec();
}
